package logique.reseau;

import java.util.LinkedList;

import logique.reseau.classements.Classement;

/**
 * 
 * @author camille
 *
 */
public class Route {
	private String nom;
	private Classement classement;
	private LinkedList<Troncon> troncons;

	public Route() {
		nom = null;
		classement = null;
		troncons = new LinkedList<Troncon>();
	}

	public String getNom() {
		return nom;
	}

	public void setNom(String nom) {
		this.nom = nom;
	}

	public Classement getClassement() {
		return classement;
	}

	public void setClassement(Classement classement) {
		this.classement = classement;
	}

	public LinkedList<Troncon> getTroncons() {
		return troncons;
	}

	public void setTroncons(LinkedList<Troncon> troncons) {
		this.troncons = troncons;
	}

	public void addTroncon(Troncon troncon) {
		troncons.add(troncon);
		troncon.setRoute(this);
	}

	public void removeTroncon(Troncon troncon) {
		troncons.remove(troncon);
		troncon.setRoute(null);
	}

	public void clearTroncons() {
		troncons.clear();
	}

	@Override
	public String toString() {
		String routeStr = new String();

		routeStr += classement.toString() + " " + nom + "\n";
		routeStr += "Troncons :\n";
		routeStr += "----------------\n";

		for (Troncon troncon : troncons) {
			routeStr += troncon.toString() + "\n";
		}

		return routeStr;
	}
}
